<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>copyWithin</title>
  <script>

    /**
     * Array.prototype.copyWithin(target,start,end)
     * 方法浅复制数组的一部分到同一数组中的另一个位置，并返回它，不会改变原数组的长度。 
     * 返回值是改变后的数组
     * */

    /**
     * target 0 为基底的索引，复制序列到该位置。
     * 如果是负数，target 将从末尾开始计算。如果 target 大于等于 arr.length，将不会发生拷贝。
     * 如果 target 在 start 之后，复制的序列将被修改以符合 arr.length。
     * start 0 为基底的索引，
     * 开始复制元素的起始位置。
     * 如果是负数，start 将从末尾开始计算。
     * 如果 start 被忽略，copyWithin 将会从 0 开始复制。
     * end 0 为基底的索引，开始复制元素的结束位置。
     * copyWithin 将会拷贝到该位置，但不包括 end 这个位置的元素。
     * 如果是负数， end 将从末尾开始计算。
     * 如果 end 被忽略，copyWithin 方法将会一直复制至数组结尾（默认为 arr.length）。
     * 参数都必须为整数
     */

    const array = [1, 2, 'red', 3];

    console.log(array.copyWithin(0, 2, 3)); //  ['red', 2, 'red', 3]

    const array2 = ['tom', 'Bob', 'jack', 'top', 'left', 'bottom'];
    // 将名字都替换为位置
    console.log(array2.copyWithin(0, 3));


  </script>
</head>

<body>

</body>

</html>